import axios from "axios";
import router from "@/router";
// axios.defaults.baseURL = 'http://localhost:3000';
// 创建一个axios的实例 ， 为了后期扩展性更强
console.log(process.env.VUE_APP_BASE_URL);



var axiosEl = axios.create({
    baseURL:process.env.VUE_APP_BASE_URL,
    timeout:5000   //  接口超过5秒 给出爆出结果
})

// 请求拦截  只是开始调接口 ， 可以监听，做一些请求数据的修改等
axiosEl.interceptors.request.use((config)=>{
    console.log('响应到请求拦截');
    // 一把用来统一添加接口需要的字段
    var token = localStorage.getItem('token');
    config.headers.Authorization ='Bearer '+token;

    return config;
})

// 响应拦截 , 服务端给前端数据的时候可以监听
axiosEl.interceptors.response.use((res)=>{
    return res.data;
},(err)=>{
    // 处理异常 
    console.log(err.response,'服务端反馈的'); 
    
    if(err.response && err.response.status) {
        switch(err.response.status){
            case  404:
                console.log('接口错误');
                break;
            case 500:
                console.log('服务端错误'); 
                break;
            case 403:
                console.log('跳转到登录');
                window.location.href = '/login'
                break;
            case  401:
                console.log('无效的token'); 
               window.location.href = '/login'
                break;
            default:
                console.log('错误异常');   
                break;
        }
    }
   // 处理axios响应错误

//   return Promise.reject('失败了')
   return false;
    
})

export default axiosEl;